1. Field of the Invention
The present invention generally relates to computer systems. In particular, embodiments relate to systems and methods for processing requests for data in a plurality of database formats.
2. Brief Description of the Related Art
Databases are used to store information within a structured environment so that the data may be organized, selected, modified, and/or extracted easily. A database may be defined as an information set with a regular structure. Databases are generally, but not necessarily, stored in a machine readable format accessible by a computer system. Databases may include simple tables with only a few files as well as very large databases with many millions of data records using several disk drives. A database management system is a collection of programs that stores, organizes, selects, modifies, and/or extracts data from a database.
There are several database models, or database formats, that are generally used. Examples of database models include, but are not limited to, hierarchical database models and relational database models. Databases may be referred to as database management systems. A hierarchical database management system links database records together in a tree data structure. Examples of hierarchical database management systems include direct access database management systems and sequential access database management systems. Direct access database management generally means that all the data can be accessed directly, by utilizing an index or a randomizing routine. Sequential access database management generally means that all data is stored in a hierarchical sequence, one segment after another. Data in a sequential access database may be accessed by sequentially seeking through the data or, in some cases, an index may be used to locate the data.
Direct access databases may be accessed by direct access database methods. Examples of direct access database methods include, but are not limited to, HDAM (hierarchic direct access method), HIDAM (hierarchic indexed direct access method), PHDAM (partitioned hierarchic direct access method), and PHIDAM (partitioned hierarchic indexed direct access method). Direct access database methods may be used to access direct access data in a file or database management system. One example of a database management system used for accessing direct access data is IMS® (Information Management System), available from IBM® Corporation (White Plains, N.Y.).
Sequential access databases may be accessed by sequential access database methods. Examples of sequential access database methods include, but are not limited to, QSAM (queued sequential access method), BSAM (basic sequential access method), OSAM (overflow sequential access method), HSAM (hierarchical sequential access method), SHSAM (simple hierarchical sequential access method), HISAM (hierarchical indexed sequential access method), SHISAM (simple hierarchical indexed sequential access method), and GSAM (generalized sequential access method). Sequential access database methods may be used to access sequential access data in a file or database management system. One example of a database management system used for accessing sequential access data is VSAM (virtual storage access method).
A relational database management system is a database model that is based on predicate logic and set theory. A fundamental assumption of a relational database is that all data may be represented as mathematical relations. A relational database may organize data into related rows and columns that are specified by a relational or logical model. A relational database management system allows a designer of the system to create a consistent relational model of the stored data. The relational model may be refined through database normalization. Examples of relational database management systems include DB2® (IBM® Corporation), Oracle® (Oracle® Corporation, Redwood Shores, Calif.), Microsoft® SQL Server (Microsoft® Corporation, Redmond, Wash.), and Microsoft® Access.
Retrieving or extracting data from each of the different format database management systems is accomplished by making a request for data from the database. Typically, a request for data is handled through a software program located on a computer system. The software program may request data from a database management system. Requests for data may be made in any of the database formats described herein. A request for data may be made in a format that is the same as a format of the database management system from which the request is being made.
In some cases, a request for data in one format may be handled by a database management system in another format. Such a request may be intercepted by a software component to translate the data request into an appropriate format for the database management system handling the request. The software component intercepting the request may also translate the response to the request back into the format of the original data request. Currently available software components are able to translate a request from a first database format and translate the request into a second database format and then return a result in the first database format. The currently available software components, however, are only able to handle a request from one particular database format and service the request in one other particular database format. The components are not able to handle a request from a variety of database formats and service the request in one particular database format.